package com.hp.annotation;


import com.hp.enums.ExcelCellTypeEnum;
import com.hp.service.template_data.ExcelDynamicSelect;

import java.lang.annotation.*;

/**
 * 标注导出的列为下拉框类型，并为下拉框设置内容
 *
 * @author hp
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ExcelDataValidation {


    /**
     * 标题，建议使用字段名
     */
    String title() default "title";

    /**
     * 类型
     *
     * @see ExcelCellTypeEnum
     */
    String type() default "text";

    /**
     * 多列下拉使用同一个下拉内容，同一个key下拉内容相同
     * 注意：使用相同key的字段要放在一起
     */
    String key() default "";

    /**
     * 固定下拉内容
     */
    String[] source() default {};

    /**
     * 动态下拉内容
     */
    Class<? extends ExcelDynamicSelect>[] sourceClass() default {};

    /**
     * 设置下拉框的起始行，默认为第二行
     */
    int firstRow() default 1;

    /**
     * 设置下拉框的结束行，默认为最后一行
     */
    int lastRow() default 0x10000;


    /**
     * 表格约束的最小值
     */
    String minValue() default "";

    /**
     * 表格约束的最大值
     */
    String maxValue() default "";

}
